package controlador;
import modelo.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import vistas.JFCategoria;

public class ControladorJFCategoria implements ActionListener

{

	private JFCategoria ventanaCategoria;
	public Categoria categoria;
	
	public ControladorJFCategoria() 
	{
		super();
		ventanaCategoria = new JFCategoria();
	    categoria = new Categoria();
		ventanaCategoria.addListener(this);
		ventanaCategoria.setLocationRelativeTo(null);
		ventanaCategoria.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e)
	
	{		
		CategoriaDao categoriaDao = new CategoriaDao();
		
	   if (e.getActionCommand().equals("Actualizar")){
            Categoria categoriaAuxiliar=null;
   			categoriaAuxiliar =categoriaDao.consultarCategoria(ventanaCategoria.getJTcodCategoria().getText());
   			if(categoriaAuxiliar != null)
   			{
   				this.categoria.setCodCategoria(ventanaCategoria.getJTcodCategoria().getText());
					this.categoria.setNombreCategoria(ventanaCategoria.getJTnombreCategoria().getText());
					categoriaDao.actualizar(categoria,ventanaCategoria.getJTcodCategoria().getText());
					this.ventanaCategoria.mostrarMensaje("Categoría Actualizada con Exito");
					this.ventanaCategoria.limpiar();
   			}		
   			else
   				{
   					System.out.println("Aqui jh");
   					ventanaCategoria.mostrarMensaje("Esta Categoría ya existe");
       				this.ventanaCategoria.limpiar();	
   				}	
		}
		
		
		if (e.getActionCommand().equals("Guardar"))
		{
			Categoria categoriaAuxiliar=null;
			categoriaAuxiliar = categoriaDao.consultarCategoria(ventanaCategoria.getJTcodCategoria().getText());
			if(categoriaAuxiliar == null)
			{
				this.categoria.setCodCategoria(ventanaCategoria.getJTcodCategoria().getText());
				this.categoria.setNombreCategoria(ventanaCategoria.getJTnombreCategoria().getText());
		
				categoriaDao.insertarCategoria(categoria);	
				this.ventanaCategoria.mostrarMensaje("Categoría Insertada con Exito");
				this.ventanaCategoria.limpiar();
			 }
			else {  
				this.ventanaCategoria.mostrarMensaje("Categoría Insertada anteriormente");
				ventanaCategoria.llenarCampos(categoriaAuxiliar);
	              }
			
			}
		
		  
		if (e.getActionCommand().equals("Cancelar"))
		{
			this.ventanaCategoria.limpiar();
		}
		
		if (e.getActionCommand().equals("Eliminar"))
			{
			//CategoriaDao categoriaDao = new CategoriaDao ();
			categoriaDao.eliminarCategoria(categoria);
			ventanaCategoria.mostrarMensaje("Categoría eliminada exitosamente");
			}	
		if (e.getActionCommand().equals("Buscar")){
			Buscar();
			}
		}

	public void Buscar(){
		
			CategoriaDao categoriaDao = new CategoriaDao ();
			Categoria categoriaAuxiliar=null;
			categoriaAuxiliar =categoriaDao.consultarCategoria(ventanaCategoria.getJTcodCategoria().getText());
			if(categoriaAuxiliar == null){
				this.ventanaCategoria.mostrarMensaje("La categoria no ha sido registrada");
				this.ventanaCategoria.limpiar();
			}
			else {
	                  ventanaCategoria.llenarCampos(categoriaAuxiliar);
			
			}
	}
	}

